package ucl.cs.stockBroker.common;

/**
 * Account Remote Interface.
 * @author  K. Bryson.
 * @version 1.0
 */

// WHY IS IT NOT GOOD TO HAVE AN INDIVIDUAL REMOTE ACCOUNT OBJECT ? //
//added pin

import java.rmi.RemoteException;
import java.util.Map;

public interface Account extends java.rmi.Remote {

	void deposit(float amount) throws RemoteException;

	void withdraw(float amount) throws RemoteException;

	String getName() throws RemoteException;

	int getNumber() throws RemoteException;

	float getBalance() throws RemoteException;

	String getDescription() throws RemoteException;

	String getPin() throws RemoteException;

	Map<String, Integer> getShares() throws RemoteException;

	int getShareQuantity(String symbol) throws RemoteException;

	void addShare(String symbol, int quantity) throws RemoteException;

	void removeShare(String symbol, int quantity) throws RemoteException;
}
